The number of available software applications (referred to herein as “Apps”) has grown for user devices, such as computers, smartphones, mobile devices, televisions, in-vehicle computers, and other Internet-connected devices. Many diverse native and web-based software applications are available and can be accessed by the user devices. The applications include business related applications, game applications, educational applications, news applications, shopping applications, messaging applications, media streaming applications, social networking applications, etc. Application developers develop vast amounts of applications within each genre and each application may have numerous editions.
Applications are used to accomplish specific functions and/or tasks. Applications have corresponding application states, which are used to accomplish each task and/or function. As an example, the application states can refer to windows and/or a set of display objects presented to a user to allow the user to accomplish and/or request performance of certain tasks and/or functions. As the number of applications, the complexity of the applications, and/or complexity of corresponding websites increases, it becomes ever more difficult to identify a correct application and/or application state to accomplish a given task and/or function.